package com.sc.nft.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.MallOrderProduct;
import com.sc.nft.entity.UserInfo;
import com.sc.nft.entity.vo.UserPropsRewardsDetailVO;
import com.sc.nft.enums.props.reward.RewardDetailStatusEnum;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public interface MallUserPropsRewardsDetailService {

    /**
     * 支付成功
     *
     * @param userId
     * @param orderProdcutList
     */
    void payScuuess(Long userId, Long daoId, List<MallOrderProduct> orderProdcutList, BigDecimal payAmount, String orderNo, Integer totalNum);

    void cancel(Long orderId, BigDecimal totalRefundSuccessAmount);

    /**
     * 处理确认收货逻辑
     *
     * @param orderId
     */
    void confirm(Long orderId, BigDecimal consumptionAmount);

    Page<UserPropsRewardsDetailVO> page(Long daoId, UserInfo user, Page page);

    /**
     * 分页查询用户道具奖励明细记录
     */
    Page<UserPropsRewardsDetailVO> page(Date startTime,
                                        Date endTime,
                                        String phoneNumber,
                                        String orderNo,
                                        RewardDetailStatusEnum status,
                                        Page page);


}
